home *** CD-ROM | disk | FTP | other *** search
Text File | 1992-08-05 | 52.0 KB | 1,975 lines |
- -------------------- Bug No 1 --------------------------
- Return-Path: <c.robbins@xtel.co.uk>
- Received: from xtel.co.uk by lancaster.xtel.co.uk with SMTP (PP)
- id <15303-0@lancaster.xtel.co.uk>; Wed, 24 Jul 1991 08:46:01 +0100
- To: quipu-bugs@xtel.co.uk
- Subject: dsacontrol
- Date: Wed, 24 Jul 91 08:45:59 +0100
- From: Colin Robbins <c.robbins@xtel.co.uk>
-
- QUIPU VERSION: 7.0
-
- ISODE VERSION: 7.0
-
- PROGRAM: Dish
-
- SYNOPSIS: The Dish command 'dsacontrol -refresh' core dump
- if no arguments are given.
-
- DESCRIPTION: It happens to all the other dsacontrol flags as well!
-
- SAMPLE FIX:
-
- *** quipu/dish/modify.c~ Wed Jul 17 12:49:47 1991
- --- quipu/dish/modify.c Wed Jul 24 08:43:20 1991
- ***************
- *** 1,14 ****
- /* modify.c - */
-
- #ifndef lint
- ! static char *rcsid = "$Header: /a/vulcan/xtel/isode/isode-master/quipu/dish/RCS/modify.c,v 8.0 91/07/17 12:49:46 isode Rel $";
- #endif
-
- /*
- ! * $Header: /a/vulcan/xtel/isode/isode-master/quipu/dish/RCS/modify.c,v 8.0 91/07/17 12:49:46 isode Rel $
- *
- *
- * $Log: modify.c,v $
- * Revision 8.0 91/07/17 12:49:46 isode
- * Release 7.0
- *
- --- 1,17 ----
- /* modify.c - */
-
- #ifndef lint
- ! static char *rcsid = "$Header: /a/vulcan/xtel/isode/isode-master/quipu/dish/RCS/modify.c,v 8.1 91/07/24 08:43:04 isode Exp $";
- #endif
-
- /*
- ! * $Header: /a/vulcan/xtel/isode/isode-master/quipu/dish/RCS/modify.c,v 8.1 91/07/24 08:43:04 isode Exp $
- *
- *
- * $Log: modify.c,v $
- + * Revision 8.1 91/07/24 08:43:04 isode
- + * arg count check
- + *
- * Revision 8.0 91/07/17 12:49:46 isode
- * Release 7.0
- *
- ***************
- *** 529,537 ****
- return;
- }
-
- ! if (test_arg (argv[1], "-dump",1))
- (void) sprintf (buffer, "d %s", argv[2]);
- else if (test_arg (argv[1], "-tailor",1))
- (void) sprintf (buffer, "t %s", argv[2]);
- else if (test_arg (argv[1], "-abort",1)) {
- (void) strcpy (buffer,"a");
- --- 532,542 ----
- return;
- }
-
- ! if (test_arg (argv[1], "-dump",1))
- ! if (argc != 3) goto out; else
- (void) sprintf (buffer, "d %s", argv[2]);
- else if (test_arg (argv[1], "-tailor",1))
- + if (argc != 3) goto out; else
- (void) sprintf (buffer, "t %s", argv[2]);
- else if (test_arg (argv[1], "-abort",1)) {
- (void) strcpy (buffer,"a");
- ***************
- *** 542,553 ****
- --- 547,562 ----
- argc++; /* to get through if (argc != 3) */
- }
- else if (test_arg (argv[1], "-refresh",3))
- + if (argc != 3) goto out; else
- (void) sprintf (buffer, "r %s", foobar (argv[2]));
- else if (test_arg (argv[1], "-resync",2))
- + if (argc != 3) goto out; else
- (void) sprintf (buffer, "f %s", foobar (argv[2]));
- else if (test_arg (argv[1], "-lock",1))
- + if (argc != 3) goto out; else
- (void) sprintf (buffer, "l %s", foobar (argv[2]));
- else if (test_arg (argv[1], "-unlock",1))
- + if (argc != 3) goto out; else
- (void) sprintf (buffer, "u %s", foobar (argv[2]));
- else if (test_arg (argv[1], "-info",1)) {
- dsa_control_info();
- ***************
- *** 559,564 ****
- --- 568,574 ----
- argc++; /* to get through if (argc != 3) */
- }
- else
- + if (argc != 3) goto out; else
- (void) sprintf (buffer, "s %s", foobar (argv[2]));
- }
- else
- ***************
- *** 570,575 ****
- --- 580,586 ----
- }
-
- if (argc != 3) {
- + out:;
- Usage (argv[0]);
- return;
- }
-
- ORIGINAL REPORT:
-
- ------- Forwarded Message
-
- Subject: dsacontrol -refresh core dump
- Reported-On: Thu, 18 Jul 91 15:31:55 +0000
- Reported-By: Paul Barker <P.Barker@cs.ucl.ac.uk>
- Reported-To: c.robbins@xtel.co.uk
-
- Regrettably the signal catching rather gets in the way here. I think the
- problem is the null DN. If I explicitly give a full leaf DN, it says:
-
- Dish -> dsacontrol -refresh "@c=GB@o=University College London@ou=Computer
- Science@cn=Paul Barker"
- *** Service error: Unwilling to perform ***
-
-
- bunnahabhain 129> ./xdish -u me -password
- Welcome to Dish (DIrectory SHell)
- Enter password for "me":
- Dish -> squid
- Connected to Vicuna at BELLS-TCP=50987
- Current position: @c=GB@o=University College London@ou=Computer Science
- User name: @c=GB@o=University College London@ou=Computer Science@cn=Incads
- Current sequence: default
- Dish -> sea sn=barker
- 1 cn=Adrian Barker
- 2 cn=Paul Barker
- Dish -> mov 2
- Dish -> dsacontrol -refresh <- NULLDN ******
- Dish Problem
- Abort (core dumped)
- bunnahabhain 130> adb xdish
- $c
-
- core file = core -- program ``xdish''
- SIGIOT 6: abort
- _kill(?)
- __DYNAMIC(0x1c194,0xf779f08c,0x0,0xd8cd3,0x1460d8,0xf779f00c) + 8
- _dish_quit(0xb,0x3,0xf7ffe948,0x0,0x1,0xf779c05c) + 1d8
- adb
-
- ------- End of Forwarded Message
-
- -------------------- Bug No 2 --------------------------
- Return-Path: <c.robbins@xtel.co.uk>
- Received: from xtel.co.uk by lancaster.xtel.co.uk with SMTP (PP)
- id <01607-0@lancaster.xtel.co.uk>; Wed, 24 Jul 1991 09:42:00 +0100
- To: quipu-bugs@xtel.co.uk
- Subject: bind option in dish
- Date: Wed, 24 Jul 91 09:41:49 +0100
- From: Colin Robbins <c.robbins@xtel.co.uk>
-
- QUIPU VERSION: 7.0
-
- ISODE VERSION: 7.0
-
- PROGRAM: Dish
-
- SYNOPSIS: If you do a 'bind -call x -y', a following bind
- attempt remebers the bad '-y' argument and reuses it!
-
- SAMPLE FIX:
-
- *** quipu/dish/bind.c~ Wed Jul 17 12:49:38 1991
- --- quipu/dish/bind.c Wed Jul 24 09:37:13 1991
- ***************
- *** 1,14 ****
- /* bind.c - */
-
- #ifndef lint
- ! static char *rcsid = "$Header: /a/vulcan/xtel/isode/isode-master/quipu/dish/RCS/bind.c,v 8.0 91/07/17 12:49:38 isode Rel $";
- #endif
-
- /*
- ! * $Header: /a/vulcan/xtel/isode/isode-master/quipu/dish/RCS/bind.c,v 8.0 91/07/17 12:49:38 isode Rel $
- *
- *
- * $Log: bind.c,v $
- * Revision 8.0 91/07/17 12:49:38 isode
- * Release 7.0
- *
- --- 1,17 ----
- /* bind.c - */
-
- #ifndef lint
- ! static char *rcsid = "$Header: /a/vulcan/xtel/isode/isode-master/quipu/dish/RCS/bind.c,v 8.1 91/07/24 09:37:06 isode Exp $";
- #endif
-
- /*
- ! * $Header: /a/vulcan/xtel/isode/isode-master/quipu/dish/RCS/bind.c,v 8.1 91/07/24 09:37:06 isode Exp $
- *
- *
- * $Log: bind.c,v $
- + * Revision 8.1 91/07/24 09:37:06 isode
- + * bind arg fix
- + *
- * Revision 8.0 91/07/17 12:49:38 isode
- * Release 7.0
- *
- ***************
- *** 247,252 ****
- --- 250,256 ----
- (void) strcpy (username,argv[x]);
- if (*username == '-') {
- ps_printf (OPT,"Unknown option %s\n",username);
- + username[0] = 0;
- Usage (argv[0]);
- return (NOTOK);
- }
- ORIGINAL REPORT:
-
- ------- Forwarded Message
-
- Subject: Isode 6.8 bugs
- Reported-On: Sat, 20 Jul 91 07:18:40 +0100
- Reported-By: Hallvard B Furuseth <hbf@usit.uio.no>
- Reported-To: Quipu-support@cs.ucl.ac.uk
-
- I have been sitting on some Isode 6.8 bug reports for some time.
- I suppose it's a little late to remember it now, but anyway, here goes:
-
- [... deleted as fixed between 6.8 and 7.0 ... ]
-
- Dish command-line handling is wrong (with readline):
-
- dish
- dish -> bind -call xxxx -yyyy
- Unknown option -yyyy
- Usage ...
- dish -> bind -call zzzz
- Equals missing in RDN '-yyyy' << Wrong!
- Invalid DN for username: '-yyyy'
- Usage ...
-
-
- [... deleted as fixed between 6.8 and 7.0 ... ]
-
- ------- End of Forwarded Message
-
- -------------------- Bug No 5 --------------------------
- Return-Path: <c.robbins@xtel.co.uk>
- Received: from xtel.co.uk by lancaster.xtel.co.uk with SMTP (PP)
- id <13516-0@lancaster.xtel.co.uk>; Wed, 14 Aug 1991 10:11:46 +0100
- To: quipu-bugs@xtel.co.uk
- Subject: ACLs in DUAs
- Date: Wed, 14 Aug 91 10:11:41 +0100
- From: Colin Robbins <c.robbins@xtel.co.uk>
-
- QUIPU VERSION: 7.0
-
- ISODE VERSION: 7.0
-
- PROGRAM: DUAs using libdsap
-
- SYNOPSIS: If a DUA prints an ACL structure before copying it,
- the result is unpredicatble. This does not affect DISH.
-
- SAMPLE FIX:
-
- *** /tmp/RCSAa26667 Wed Aug 14 10:04:47 1991
- --- dsap/common/acl.c Mon Aug 12 15:22:34 1991
- ***************
- *** 320,325 ****
- --- 323,335 ----
- if (decode_Quipu_ACLSyntax(pe,1,NULLIP,NULLVP,&aclptr) == NOTOK) {
- return (struct acl *) NULL;
- }
- + if (! aclptr->ac_child)
- + aclptr->ac_child = defaultacl;
- + if (! aclptr->ac_entry)
- + aclptr->ac_entry = defaultacl;
- + if (! aclptr->ac_default)
- + aclptr->ac_default = defaultacl;
- +
- return (aclptr);
-
- }
- -------------------- Bug No 7 --------------------------
- Return-Path: <c.robbins@xtel.co.uk>
- Received: from xtel.co.uk by lancaster.xtel.co.uk with SMTP (PP)
- id <24369-0@lancaster.xtel.co.uk>; Wed, 14 Aug 1991 14:53:28 +0100
- To: quipu-bugs@xtel.co.uk
- Subject: File attributes file name
- Date: Wed, 14 Aug 91 14:53:20 +0100
- From: Colin Robbins <c.robbins@xtel.co.uk>
-
- QUIPU VERSION: 7.0
-
- ISODE VERSION: 7.0
-
- PROGRAM: DISH
-
- SYNOPSIS: showentry -edb will only print the file name
- of a file attribute first time around.
-
- SAMPLE FIX:
-
- *** /tmp/RCSAa29858 Wed Aug 14 14:50:04 1991
- --- dsap/common/file_print.c Wed Aug 14 14:49:16 1991
- ***************
- *** 168,175 ****
- return;
- }
- last_at = save_at;
- ! if (used_temp)
- ps_print (ps,fs->fs_name);
- } else if (! (fs->fs_mode & FS_DEFAULT))
- ps_print (ps,fs->fs_name);
-
- --- 168,177 ----
- return;
- }
- last_at = save_at;
- ! if (used_temp) {
- ps_print (ps,fs->fs_name);
- + fs->fs_mode &= ~FS_DEFAULT;
- + }
- } else if (! (fs->fs_mode & FS_DEFAULT))
- ps_print (ps,fs->fs_name);
-
-
- -------------------- Bug No 8 --------------------------
- Return-Path: <c.robbins@xtel.co.uk>
- Received: from xtel.co.uk by lancaster.xtel.co.uk with SMTP (PP)
- id <25718-0@lancaster.xtel.co.uk>; Wed, 14 Aug 1991 15:59:52 +0100
- To: quipu-bugs@xtel.co.uk
- Subject: Photos in POD
- Date: Wed, 14 Aug 91 15:59:43 +0100
- From: Colin Robbins <c.robbins@xtel.co.uk>
-
- QUIPU VERSION: 7.0
-
- ISODE VERSION: 7.0
-
- PROGRAM: POD
-
- SYNOPSIS: Photo are not always displayed correctly.
-
- SAMPLE FIX:
-
- *** others/quipu/uips/pod/read.c~ Wed Jul 17 13:26:27 1991
- --- others/quipu/uips/pod/read.c Wed Jul 24 10:08:52 1991
- ***************
- *** 288,297 ****
- two_passes = 0;
-
- (void) pe2ps(sps, picture);
- ! decode_t4(sps->ps_base, "photo", 0);
- ! decode_t4(sps->ps_base, "photo", 0);
- !
- ps_print(ps,"(see below)");
- ps_free(sps);
- }
- }
- --- 288,303 ----
- two_passes = 0;
-
- (void) pe2ps(sps, picture);
- ! if (decode_t4(sps->ps_base, "photo", sps->ps_ptr - sps->ps_base ) == -1)
- ! goto out;
- !
- ! if (two_passes &&
- ! decode_t4 (sps->ps_base, "photo", sps->ps_ptr - sps->ps_base) == -1 )
- ! goto out;
- !
- ps_print(ps,"(see below)");
- +
- + out:;
- ps_free(sps);
- }
- }
-
-
- -------------------- Bug No 9 --------------------------
- Return-Path: <c.robbins@xtel.co.uk>
- Received: from xtel.co.uk by lancaster.xtel.co.uk with SMTP (PP)
- id <03889-0@lancaster.xtel.co.uk>; Wed, 21 Aug 1991 14:17:47 +0100
- To: quipu-bugs@xtel.co.uk
- Subject: SD filter problem
- Date: Wed, 21 Aug 91 14:17:43 +0100
- From: Colin Robbins <c.robbins@xtel.co.uk>
-
- QUIPU VERSION: 7.0
-
- ISODE VERSION: 7.0
-
- PROGRAM: SD
-
- SYNOPSIS: Core dumps on some searches
-
- ORIGINAL REPORT:
-
- ------- Forwarded Message
-
- Subject: SD
- Reported-On: Wed, 21 Aug 91 13:03:05 +0100
- Reported-By: Oliver Wenzel <Wenzel@fokus.berlin.gmd.dbp.de>
- Reported-To: quipu-support <quipu-support@cs.ucl.ac.uk>
-
- Hello,
-
- I found some bugs in filt.c of SD that caused SD to core-dump.
- The problem was that in the case that str2AttrVal failed (e.g.
- caused by an invalid syntax for the search value), avs_comp_new()
- made trouble (line 423-426 in filt.c).
-
- I fixed this bug by checking str2AttrV before calling avs_comp_new().
- Futher I noticed a problem when calling filter_free() in the error
- handling case. This seems to be caused by a missing initialization
- of the filter structure. I added some initialization code.
-
-
- This bug seems to be handled in the filt.c of POD.
-
-
- *** filt.c.orig Wed Aug 21 12:27:08 1991
- - --- filt.c Wed Aug 21 12:53:13 1991
- ***************
- *** 351,356 ****
- - --- 351,357 ----
- {
- int type;
- char svalue[1024];
- + AttributeValue av;
- Filter rfilt, sfilt = filter_alloc();
-
- if (!filt) return NULLFILTER;
- ***************
- *** 405,410 ****
- - --- 406,415 ----
- sfilt->flt_un.flt_un_item.fi_type = FILTERITEM_SUBSTRINGS;
- sfilt->flt_un.flt_un_item.fi_un.fi_un_substrings.fi_sub_type =
- AttrT_new(filt->fu_cont.item.stroid);
- + sfilt->flt_un.flt_un_item.fi_un.fi_un_substrings.fi_sub_initial = NULLA
- V;
- + sfilt->flt_un.flt_un_item.fi_un.fi_un_substrings.fi_sub_any = NULLAV;
- + sfilt->flt_un.flt_un_item.fi_un.fi_un_substrings.fi_sub_final = NULLAV;
- + sfilt->flt_un.flt_un_item.fi_un.fi_un_substrings.fi_sub_match = NULL;
-
- if (!sfilt->flt_un.flt_un_item.fi_un.fi_un_ava.ava_type ||
- sfilt->flt_un.flt_un_item.fi_un.fi_un_ava.ava_type->
- ***************
- *** 414,419 ****
- - --- 419,432 ----
- filter_free(sfilt);
- return rfilt;
- }
- + if ((av = str2AttrV(svalue, sfilt->flt_un.flt_un_item.fi_un.
- + fi_un_substrings.fi_sub_type->oa_syntax)) == NULLAttrV)
- + {
- + rfilt = sfilt->flt_next;
- + sfilt->flt_next = NULLFILTER;
- + filter_free(sfilt);
- + return rfilt;
- + }
-
- sfilt->flt_un.flt_un_item.fi_un.fi_un_substrings.fi_sub_initial =
- NULLAV;
- ***************
- *** 420,429 ****
- sfilt->flt_un.flt_un_item.fi_un.fi_un_substrings.fi_sub_final =
- NULLAV;
- sfilt->flt_un.flt_un_item.fi_un.fi_un_substrings.fi_sub_any =
- ! avs_comp_new(str2AttrV(svalue,
- ! sfilt->flt_un.flt_un_item.fi_un.
- ! fi_un_substrings.fi_sub_type->
- ! oa_syntax));
-
- if (sfilt->flt_un.flt_un_item.fi_un.fi_un_substrings.fi_sub_any ==
- NULL) {
- - --- 433,439 ----
- sfilt->flt_un.flt_un_item.fi_un.fi_un_substrings.fi_sub_final =
- NULLAV;
- sfilt->flt_un.flt_un_item.fi_un.fi_un_substrings.fi_sub_any =
- ! avs_comp_new(av);
-
- if (sfilt->flt_un.flt_un_item.fi_un.fi_un_substrings.fi_sub_any ==
- NULL) {
-
-
- ------- End of Forwarded Message
-
- -------------------- Bug No 13 --------------------------
- Return-Path: <c.robbins@xtel.co.uk>
- Received: from xtel.co.uk by lancaster.xtel.co.uk with SMTP (PP)
- id <01162-0@lancaster.xtel.co.uk>; Wed, 25 Sep 1991 09:22:00 +0100
- To: quipu-bugs@xtel.co.uk
- Subject: unexpected results with dish: bind -c
- Date: Wed, 25 Sep 91 09:21:57 +0100
- From: Colin Robbins <c.robbins@xtel.co.uk>
-
- QUIPU VERSION: 7.0
-
- ISODE VERSION: 7.0
-
- PROGRAM: dish
-
- SYNOPSIS: If there argument to "bind -c" is incorrect the error
- handling is not as good as it could be, and future
- "bind -c" operations produce unexpected results.
-
- SAMPLE FIX:
-
- *** /tmp/RCSAa17905 Wed Sep 25 09:17:26 1991
- --- quipu/dish/bind.c Wed Sep 25 09:15:29 1991
- ***************
- *** 155,160 ****
- --- 155,170 ----
- (void) alarm (connect_time);
- }
-
- + isnumeric (ptr)
- + char * ptr;
- + {
- + while (*ptr)
- + if (! isdigit (*ptr++) )
- + return FALSE;
- +
- + return TRUE;
- + }
- +
- call_bind (argc,argv)
- int argc;
- char ** argv;
- ***************
- *** 163,168 ****
- --- 173,179 ----
- char noconnect = FALSE;
- static char bdsa [LINESIZE], save_bdsa[LINESIZE];
- char *save_address;
- + char *save_name;
- extern char * dsa_address,
- * myname;
- FILE *fp;
- ***************
- *** 175,180 ****
- --- 186,192 ----
-
- bdsa[0] = 0;
- save_address = dsa_address;
- + save_name = myname;
-
- for (x=1; x<argc; x++) {
- if (test_arg (argv[x], "-noconnect",3))
- ***************
- *** 261,267 ****
- if (noconnect)
- return (OK);
-
- ! if (isdigit (*username)) {
- PS ps;
-
- if ((newdn = sequence_dn (atoi (username))) == NULLDN) {
- --- 273,279 ----
- if (noconnect)
- return (OK);
-
- ! if (isnumeric (username)) {
- PS ps;
-
- if ((newdn = sequence_dn (atoi (username))) == NULLDN) {
- ***************
- *** 336,342 ****
- break;
- }
-
- ! if (isdigit (*bdsa) && (dsadn = sequence_dn (atoi (bdsa)))) {
- PS ps;
-
- dsadn = dn_cpy (dsadn);
- --- 348,354 ----
- break;
- }
-
- ! if (isnumeric (bdsa) && (dsadn = sequence_dn (atoi (bdsa)))) {
- PS ps;
-
- dsadn = dn_cpy (dsadn);
- ***************
- *** 470,475 ****
- --- 482,488 ----
- else
- ds_bind_error(OPT, &binderr);
- dsa_address = save_address;
- + myname = save_name;
- return (NOTOK);
- }
- (void) signal (SIGALRM, SIG_IGN);
-
- ORIGINAL REPORT:
-
- ------- Forwarded Message
-
- Subject: Re: Minor dish bug and suggestions
- Reported-On: Tue, 24 Sep 91 10:58:20 +0100
- Reported-By: hbf@usit.uio.no (Hallvard B Furuseth)
- Reported-To: quipu-support@cs.ucl.ac.uk
-
- > >Last bind below should fail.
- > Why?
-
- Well, I bound to a nonexistent address, '0101'H/Internet=1.2.3.4+5,
- which failed as it should. (Or maybe it does exist? Anyway, I got
- the same result when I tried '0101'H/129.241.1.99+2007 which does not.)
- Then I said 'bind' with no args. Then it should try to bind to the
- same address again, right? So it should fail again. Or maybe it
- should connect to the last DSA it did connect to, ie Electric Eel.
- Then squid should say
-
- Connected to Electric Eel at '0101'H/Internet=129.241.1.99+2005
-
- or just
-
- Connected to '0101'H/Internet=129.241.1.99+2005
-
- It should at least not claim to be connected to the address which it
- just failed to connect to:
-
- Connected to '0101'H/Internet=1.2.3.4+5 ...
-
-
- > This generally means you are connected to the DSA through a TS Bridge.
- > Are you using a TS Bridge.
- > If not, what TSEL are you using for the DSA address (if any).
-
- No, we have no TS Bridge. What's a TSEL - is that the '0101'H/?
- We use '0101'H/ in front of every DSA address.
-
-
- BTW, just now I happened to come across something other strange:
- I'm bound to Electric Eel as @c=NO@o=UNINETT@cn=EAN Directory Manager,
- in the middle of a session mostly with fred -dm2dn, modify and search.
- I just tried
- bind -call 1.2.23.4+5
- I intended another nonexistent addr, forgot the '0101'H/, and dish said
-
- Unable to determine presentation address for @c=NO@o=Universitetet i Oslo@ou=In
- stitutt for informatikk@cn=Jan Erik Ressem
-
- That's the object I get with 'showname 1'.
-
-
- Hallvard
-
- ------- End of Forwarded Message
-
- -------------------- Bug No 14 --------------------------
- Return-Path: <c.robbins@xtel.co.uk>
- Received: from xtel.co.uk by lancaster.xtel.co.uk with SMTP (PP)
- id <16881-0@lancaster.xtel.co.uk>; Fri, 4 Oct 1991 11:49:48 +0100
- To: quipu-bugs@xtel.co.uk
- Subject: faxtopbm
- Date: Fri, 04 Oct 91 11:49:44 +0100
- From: Colin Robbins <c.robbins@xtel.co.uk>
-
- QUIPU VERSION: 7.0
-
- ISODE VERSION: 7.0
-
- PROGRAM: faxtopbm
-
- SYNOPSIS: faxtopbm is broken!
-
- ORIGINAL REPORT:
-
- ------- Forwarded Message
-
- Subject: Hey! Who broke faxtopbm?
- Reported-On: Sat, 28 Sep 91 09:36:38 -0800
- Reported-By: Marshall Rose <mrose@dbc.mtview.ca.us>
- Reported-To: Bug-ISODE@xtel.co.uk
-
- It's gotta make two passes, not one!!!
-
- /mtr
-
- *** others/quipu/photo/:faxtopbm.c Wed Jul 17 05:16:04 1991
- - --- others/quipu/photo/faxtopbm.c Sat Sep 28 09:35:52 1991
- ***************
- *** 39,46 ****
-
- #define ALLOCATION_SIZE 16384L
-
- - - static int passno;
- - -
- static bit black, white;
-
- /* MAIN */
- - --- 39,44 ----
- ***************
- *** 140,146 ****
- exit (1);
- }
-
- ! if (decode_t4 (data, file, (int)size) == -1) {
- (void) fprintf (stderr,"\n");
- exit (-1);
- }
- - --- 138,145 ----
- exit (1);
- }
-
- ! if (decode_t4 (data, file, (int)size) == -1
- ! || decode_t4 (data, file, (int)size) == -1) {
- (void) fprintf (stderr,"\n");
- exit (-1);
- }
- ***************
- *** 171,176 ****
- - --- 170,176 ----
-
- /* PHOTO */
-
- + static int passno = 1;
- static int x, y, maxx;
-
- static bit *bitrow, *bP;
- ***************
- *** 197,202 ****
- - --- 197,203 ----
- if (passno == 1) {
- register int i;
-
- + passno = 2;
- x = maxx, y--;
-
- #ifdef PBM4PARMS
-
- ------- End of Forwarded Message
-
- -------------------- Bug No 17 --------------------------
- Return-Path: <c.robbins@xtel.co.uk>
- Received: from xtel.co.uk by lancaster.xtel.co.uk with SMTP (PP)
- id <11485-0@lancaster.xtel.co.uk>; Mon, 28 Oct 1991 14:42:23 +0000
- To: quipu-bugs@xtel.co.uk
- Subject: Freeing in dsap pepsy files
- Date: Mon, 28 Oct 91 14:42:14 +0000
- From: Colin Robbins <c.robbins@xtel.co.uk>
-
- QUIPU VERSION: 7.0
-
- ISODE VERSION: 7.0
-
- PROGRAM: DSAP library
-
- SYNOPSIS: Some PEPSY structures are not free correctly
-
- *** /tmp/RCSAa01064 Mon Oct 28 14:33:01 1991
- --- dsap/x500as/asn_ext.c Mon Oct 28 14:03:21 1991
- ***************
- *** 636,642 ****
- --- 639,653 ----
- return OK;
- }
-
- + substring_free (parm)
- + struct filter_item *parm;
- + {
- + avs_free (parm->UNSUB.fi_sub_initial);
- + avs_free (parm->UNSUB.fi_sub_any);
- + avs_free (parm->UNSUB.fi_sub_final);
-
- + return OK;
- + }
-
-
-
- ***************
- *** 1260,1263 ****
- --- 1271,1281 ----
- (*pparm)->gr_encoded = TRUE;
-
- return OK;
- + }
- +
- + EDB_free (parm)
- + struct getedb_result *parm;
- + {
- + /* All done for us at some other time (hopefully) */
- + return OK;
- }
- *** /tmp/RCSAa01064 Mon Oct 28 14:33:02 1991
- --- dsap/x500as/das.py Mon Oct 28 14:03:08 1991
- ***************
- *** 452,460 ****
- equality
- [0] AttributeValueAssertion [[p &parm->fi_un.fi_un_ava]],
- substrings
- ! [1] ANY [[a &parm->fi_un.fi_un_substrings]] -- never free this
- ! [[D substring_decode ]] [[E substring_encode]],
- !
-
- -- A bit too complex for Pepsy just yet.
- -- [1] SEQUENCE
- --- 455,463 ----
- equality
- [0] AttributeValueAssertion [[p &parm->fi_un.fi_un_ava]],
- substrings
- ! [1] ANY [[a &parm->fi_un.fi_un_substrings]]
- ! [[D substring_decode ]] [[E substring_encode]]
- ! [[F substring_free ]],
-
- -- A bit too complex for Pepsy just yet.
- -- [1] SEQUENCE
- *** /tmp/RCSAa01064 Mon Oct 28 14:33:03 1991
- --- dsap/x500as/do.py Mon Oct 28 14:03:09 1991
- ***************
- *** 664,670 ****
- {
- [0] Name [[p ap_name]],
- [1] ISODEPresentationAddress [[p ap_address ]]
- ! [[E enc_ipa ]][[D dec_ipa ]]
-
- }
-
- --- 667,673 ----
- {
- [0] Name [[p ap_name]],
- [1] ISODEPresentationAddress [[p ap_address ]]
- ! [[E enc_ipa ]][[D dec_ipa ]] [[F fr_ipa]]
-
- }
-
- ***************
- *** 676,682 ****
- {
- [0] Name [[p ap_name]],
- [1] ISODEPresentationAddress [[p ap_address ]]
- ! [[E enc_ipa ]][[D dec_ipa]]
- OPTIONAL <E<parm->ap_address != NULLPA>><D<0>>
- }
-
- --- 679,685 ----
- {
- [0] Name [[p ap_name]],
- [1] ISODEPresentationAddress [[p ap_address ]]
- ! [[E enc_ipa ]][[D dec_ipa]] [[F fr_ipa]]
- OPTIONAL <E<parm->ap_address != NULLPA>><D<0>>
- }
-
- ***************
- *** 714,718 ****
- --- 717,734 ----
- (*parm)->ap_address = psap;
- return res;
- }
- +
- + fr_ipa (parm)
- + struct access_point *parm;
- + {
- + if (parm && parm->ap_address) {
- + free (parm->ap_address);
- + parm->ap_address = NULLPA;
- + }
- + return OK;
- +
- + }
- +
- +
-
- %}
- *** /tmp/RCSAa01064 Mon Oct 28 14:33:03 1991
- --- dsap/x500as/if.py Mon Oct 28 14:03:14 1991
- ***************
- *** 49,66 ****
-
-
- AttributeType [[P oid_table_attr *]] ::=
- ! OBJECT IDENTIFIER [[ O oa_ot.ot_oid ]] [[ D dec_at ]]
-
-
- AttributeValue [[P attrVal *]]
- ::= %D{
- *parm = AttrV_alloc();
- ! %} ANY [[a av_struct ]] [[ E grab_pe1 ]]
-
- AttributeValueAssertion [[P AVA *]]
- ::= SEQUENCE {
- AttributeType [[p parm->ava_type]],
- ! AttributeValue [[p parm->ava_value]] [[ D dec_av1 ]]
- }
-
- Attribute [[P attrcomp *]] ::=
- --- 52,69 ----
-
-
- AttributeType [[P oid_table_attr *]] ::=
- ! OBJECT IDENTIFIER [[ O oa_ot.ot_oid ]] [[ D dec_at ]] [[ F free_at_dummy ]]
-
-
- AttributeValue [[P attrVal *]]
- ::= %D{
- *parm = AttrV_alloc();
- ! %} ANY [[a av_struct ]] [[ E grab_pe1 ]] [[ F AttrV_free ]]
-
- AttributeValueAssertion [[P AVA *]]
- ::= SEQUENCE {
- AttributeType [[p parm->ava_type]],
- ! AttributeValue [[p parm->ava_value]] [[ D dec_av1 ]]
- }
-
- Attribute [[P attrcomp *]] ::=
- ***************
- *** 210,216 ****
-
- return res;
- }
- !
- dec_at (parm,pe)
- oid_table_attr ** parm;
- PE pe;
- --- 213,219 ----
-
- return res;
- }
- !
- dec_at (parm,pe)
- oid_table_attr ** parm;
- PE pe;
- ***************
- *** 223,228 ****
- --- 226,237 ----
- *parm = AttrT_decode_aux (oid);
- oid_free (oid);
- }
- + }
- +
- + free_at_dummy (parm) /* Make sure nothing happens */
- + oid_table_attr * parm;
- + {
- + return OK;
- }
-
-
- *** /tmp/RCSAa01064 Mon Oct 28 14:33:06 1991
- --- dsap/x500as/qu.py Mon Oct 28 14:03:17 1991
- ***************
- *** 208,214 ****
- -- [3] SET OF SET OF AttributeType
- -- }
- ANY
- ! [[E treestruct_encode]] [[D treestruct_decode]]
-
- EntryDataBlock [[P struct getedb_type *]]
- ::= ANY
- --- 211,217 ----
- -- [3] SET OF SET OF AttributeType
- -- }
- ANY
- ! [[E treestruct_encode]] [[D treestruct_decode]] [[F tree_struct_free]]
-
- EntryDataBlock [[P struct getedb_type *]]
- ::= ANY
- ***************
- *** 245,251 ****
- versionHeld
- [0] EDBVersion [[s gr_version]] ,
- [1] EntryDataBlock [[p gr_type]]
- ! [[E EDB_encode]] [[D EDB_decode]]
- OPTIONAL <E<parm->gr_edb != 0>><D<0>>,
- nextEntryPostion INTEGER [[i gr_nextEntryPos]] OPTIONAL
- <E<parm->gr_nextEntryPos !=0>><D<0>>
- --- 248,254 ----
- versionHeld
- [0] EDBVersion [[s gr_version]] ,
- [1] EntryDataBlock [[p gr_type]]
- ! [[E EDB_encode]] [[D EDB_decode]] [[F EDB_free]]
- OPTIONAL <E<parm->gr_edb != 0>><D<0>>,
- nextEntryPostion INTEGER [[i gr_nextEntryPos]] OPTIONAL
- <E<parm->gr_nextEntryPos !=0>><D<0>>
- *** /tmp/RCSAa01124 Mon Oct 28 14:37:25 1991
- --- dsap/common/tree_struct.c Mon Oct 28 14:37:07 1991
- ***************
- *** 35,41 ****
- extern int oidformat;
-
- /* ARGSUSED */
- ! static tree_struct_free (ptr)
- struct tree_struct * ptr;
- {
- /* don't free objectclass - in static table */
- --- 38,44 ----
- extern int oidformat;
-
- /* ARGSUSED */
- ! tree_struct_free (ptr)
- struct tree_struct * ptr;
- {
- /* don't free objectclass - in static table */
- -------------------- Bug No 19 --------------------------
- Return-Path: <c.robbins@xtel.co.uk>
- Received: from xtel.co.uk by lancaster.xtel.co.uk with SMTP (PP)
- id <18366-0@lancaster.xtel.co.uk>; Tue, 5 Nov 1991 16:02:27 +0000
- To: quipu-bugs@xtel.co.uk
- Subject: pod bind problem
- Date: Tue, 05 Nov 91 16:02:18 +0000
- From: Colin Robbins <c.robbins@xtel.co.uk>
-
- QUIPU VERSION: 7.0
-
- ISODE VERSION: 7.0
-
- PROGRAM: pod
-
- SYNOPSIS: Always asked for a password, even if there is one in .quipurc
-
- SAMPLE FIX:
-
- *** /tmp/RCSAa11833 Tue Nov 5 15:59:05 1991
- --- others/quipu/uips/pod/calls.c Mon Sep 23 09:36:22 1991
- ***************
- *** 555,561 ****
- extern char *dsa_address,
- *myname;
-
- ! if (passwd[0] == '\0') {
- kill_message();
- message((Widget) NULL,
- "Enter password at command line!");
- --- 555,561 ----
- extern char *dsa_address,
- *myname;
-
- ! if (namestr[0] != '\0' && passwd[0] == '\0') {
- kill_message();
- message((Widget) NULL,
- "Enter password at command line!");
- -------------------- Bug No 22 --------------------------
- Return-Path: <c.robbins@xtel.co.uk>
- Received: from xtel.co.uk by lancaster.xtel.co.uk with SMTP (PP)
- id <13627-0@lancaster.xtel.co.uk>; Fri, 22 Nov 1991 10:35:30 +0000
- To: quipu-bugs@xtel.co.uk
- Subject: Official patch #1
- Date: Fri, 22 Nov 91 10:35:27 +0000
- From: Colin Robbins <c.robbins@xtel.co.uk>
-
- QUIPU VERSION: 7.0
-
- ISODE VERSION: 7.0
-
- SYNOPSIS: First official patch to QUIPU-7.0
- Replaces the following bug-reports, which have been
- removed from the database...
- 3, 4, 6, 10, 11, 12, 15, 16, 18, 20 and 21
-
- ORIGINAL REPORT:
-
-
- Dear Camayocs,
-
- Included below is Patch #1 for QUIPU-7.0.
-
- The major aim of the patch is to fix DSA reliability problems.
- The fixes include:
-
- Fixes to prevent replicated EDB filling the Disk with garbage.
- Protocol alignment for an obsure read operation.
- Test for hypothetcial deadlock case.
- Fix to correctly load 'NULL' EDB files.
- Fix to 'alias' indexing problem.
- A fix to the X.25 handler to allow for 'quick' connections!
- Fix to close the quipu.log file periodically.
- Fixes to the scheduling code to increase DSA reliability.
-
- For DUAs we have included a fix to the Quality of Service and
- T.61 string syntax handlers.
-
- The patch should be applied to the ISODE-7.0 source tree.
- You will then need to re-compile ISODE and QUIPU. To do this you
- should use
-
- cd isode-7.0
- ./make all all-quipu
- su
- ./make inst-all inst-quipu
-
- And if you installed the "little" dish binaries you should do
-
- cd others/quipu/uips/dish
- ./make all
- su
- ./make inst-all
-
-
- Thanks to Paul Barker, Tim Howes, Mark Prior, Mike Roe, Thomas Lenggenhager,
- George Michaelson, Oliver Wenzel, and the Giant Tortoise DSA for
- helping detect and fix these bugs.
-
- Colin
-
-
- *** /tmp/RCSAa10173 Wed Oct 23 11:39:17 1991
- --- tsap/tp0ts.c Wed Oct 23 10:59:06 1991
- ***************
- *** 121,127 ****
- if (t = tb -> tb_retry) {
- tb -> tb_retry = NULL;
-
- ! if (async)
- switch ((*tb -> tb_retryfnx) (tb, td)) {
- case NOTOK:
- goto out;
- --- 121,127 ----
- if (t = tb -> tb_retry) {
- tb -> tb_retry = NULL;
-
- ! if (async && tb -> tb_retryfnx)
- switch ((*tb -> tb_retryfnx) (tb, td)) {
- case NOTOK:
- goto out;
- *** /tmp/RCSAa10173 Wed Oct 23 11:39:18 1991
- --- tsap/ts2sunlink.c Wed Oct 23 10:58:40 1991
- ***************
- *** 175,181 ****
- register struct tp4pkt *t;
-
- t = NULL;
- ! if (async)
- switch ((*tb -> tb_retryfnx) (tb, td)) {
- case NOTOK:
- goto out;
- --- 175,181 ----
- register struct tp4pkt *t;
-
- t = NULL;
- ! if (async && tb -> tb_retryfnx)
- switch ((*tb -> tb_retryfnx) (tb, td)) {
- case NOTOK:
- goto out;
- *** /tmp/RCSAa10173 Wed Oct 23 11:39:19 1991
- --- tsap/ts2tcp.c Wed Oct 23 10:57:33 1991
- ***************
- *** 189,194 ****
- --- 189,196 ----
- #endif
- #endif
-
- + tb -> tb_retryfnx = NULLIFP; /* No need... */
- +
- return DONE;
- }
-
- *** /tmp/RCSAa10173 Wed Oct 23 11:39:19 1991
- --- tsap/ts2tli.c Wed Oct 23 10:58:54 1991
- ***************
- *** 459,465 ****
- if (tb->tb_cc == -1) { /* call not yet connected */
- struct TSAPaddr ta;
-
- ! if (async) {
- switch ((*tb -> tb_retryfnx) (tb, td)) {
- case NOTOK:
- goto out;
- --- 459,465 ----
- if (tb->tb_cc == -1) { /* call not yet connected */
- struct TSAPaddr ta;
-
- ! if (async && tb -> tb_retryfnx) {
- switch ((*tb -> tb_retryfnx) (tb, td)) {
- case NOTOK:
- goto out;
- *** /tmp/RCSAa10173 Wed Oct 23 11:39:20 1991
- --- tsap/ts2x25.c Wed Oct 23 10:57:34 1991
- ***************
- *** 146,151 ****
- --- 146,153 ----
- (void) XTService (tb); /* in case pktsize changed... */
- LLOG (x25_log, LLOG_NOTICE,
- ("connection %d to %s", fd, na2str (remote)));
- +
- + tb -> tb_retryfnx = NULLIFP; /* No need... */
-
- return DONE;
- }
-
-
- *** /tmp/RCSAa07079 Tue Nov 19 13:13:36 1991
- --- quipu/get_dsa_info.c Tue Nov 19 13:10:00 1991
- ***************
- *** 306,313 ****
- break;
-
- case DI_TASK:
- ! task_dsa_info_wakeup(di);
- ! di_free(di);
- break;
-
- default:
- --- 306,313 ----
- break;
-
- case DI_TASK:
- ! if ( task_dsa_info_wakeup(di) )
- ! di_free(di);
- break;
-
- default:
- *** /tmp/RCSAa23005 Thu Nov 14 16:22:36 1991
- --- quipu/ds_read.c Thu Nov 14 16:16:25 1991
- ***************
- *** 160,172 ****
- quipu_ctx, realtarget)) != NULLATTR)
- goto out;
-
- error->dse_type = DSE_ATTRIBUTEERROR;
- error->ERR_ATTRIBUTE.DSE_at_name = get_copy_dn (entryptr);
- error->ERR_ATTRIBUTE.DSE_at_plist.DSE_at_what =DSE_AT_NOSUCHATTRIBUTE;
- ! if (arg->rda_eis.eis_select != NULLATTR)
- ! error->ERR_ATTRIBUTE.DSE_at_plist.DSE_at_type = AttrT_cpy(arg->rda_eis.eis_select->attr_type);
- ! else
- ! error->ERR_ATTRIBUTE.DSE_at_plist.DSE_at_type = NULLAttrT;
- error->ERR_ATTRIBUTE.DSE_at_plist.DSE_at_value = NULLAttrV;
- error->ERR_ATTRIBUTE.DSE_at_plist.dse_at_next = DSE_AT_NOPROBLEM;
- dn_free (realtarget);
- --- 160,174 ----
- quipu_ctx, realtarget)) != NULLATTR)
- goto out;
-
- + if (arg->rda_eis.eis_select == NULLATTR)
- + goto out;
- +
- error->dse_type = DSE_ATTRIBUTEERROR;
- error->ERR_ATTRIBUTE.DSE_at_name = get_copy_dn (entryptr);
- error->ERR_ATTRIBUTE.DSE_at_plist.DSE_at_what =DSE_AT_NOSUCHATTRIBUTE;
- ! error->ERR_ATTRIBUTE.DSE_at_plist.DSE_at_type =
- ! AttrT_cpy(arg->rda_eis.eis_select->attr_type);
- !
- error->ERR_ATTRIBUTE.DSE_at_plist.DSE_at_value = NULLAttrV;
- error->ERR_ATTRIBUTE.DSE_at_plist.dse_at_next = DSE_AT_NOPROBLEM;
- dn_free (realtarget);
- ***************
- *** 206,219 ****
- }
-
- if ((result->rdr_entry.ent_attr = eis_select (arg->rda_eis,entryptr, dsp ? NULLDN : binddn, quipu_ctx, realtarget)) == NULLATTR)
- ! if (! arg->rda_eis.eis_allattributes) {
- error->dse_type = DSE_ATTRIBUTEERROR;
- error->ERR_ATTRIBUTE.DSE_at_name = get_copy_dn (entryptr);
- error->ERR_ATTRIBUTE.DSE_at_plist.DSE_at_what =DSE_AT_NOSUCHATTRIBUTE;
- ! if (arg->rda_eis.eis_select != NULLATTR)
- ! error->ERR_ATTRIBUTE.DSE_at_plist.DSE_at_type = AttrT_cpy(arg->rda_eis.eis_select->attr_type);
- ! else
- ! error->ERR_ATTRIBUTE.DSE_at_plist.DSE_at_type = NULLAttrT;
- error->ERR_ATTRIBUTE.DSE_at_plist.DSE_at_value = NULLAttrV;
- error->ERR_ATTRIBUTE.DSE_at_plist.dse_at_next = DSE_AT_NOPROBLEM;
- dn_free (realtarget);
- --- 208,220 ----
- }
-
- if ((result->rdr_entry.ent_attr = eis_select (arg->rda_eis,entryptr, dsp ? NULLDN : binddn, quipu_ctx, realtarget)) == NULLATTR)
- ! if ((! arg->rda_eis.eis_allattributes) && arg->rda_eis.eis_select) {
- error->dse_type = DSE_ATTRIBUTEERROR;
- error->ERR_ATTRIBUTE.DSE_at_name = get_copy_dn (entryptr);
- error->ERR_ATTRIBUTE.DSE_at_plist.DSE_at_what =DSE_AT_NOSUCHATTRIBUTE;
- ! error->ERR_ATTRIBUTE.DSE_at_plist.DSE_at_type =
- ! AttrT_cpy(arg->rda_eis.eis_select->attr_type);
- !
- error->ERR_ATTRIBUTE.DSE_at_plist.DSE_at_value = NULLAttrV;
- error->ERR_ATTRIBUTE.DSE_at_plist.dse_at_next = DSE_AT_NOPROBLEM;
- dn_free (realtarget);
-
-
-
- *** /tmp/RCSAa11110 Thu Oct 17 14:15:48 1991
- --- quipu/shadow.c Thu Oct 17 13:51:18 1991
- ***************
- *** 58,64 ****
- extern AttributeType at_xref;
- extern AttributeType at_nssr;
- extern AttributeType at_objectclass;
- - extern Attr_Sequence cpy_as_comp();
- extern short syntax_dn;
-
- typedef struct _atlist {
- --- 58,63 ----
- ***************
- *** 357,363 ****
- "external reference missing"));
- return;
- }
- ! new_as = as_merge (new_as, cpy_as_comp (as));
-
- if ((as = as_find_type (new_as, at_objectclass)) == NULLATTR) {
- LLOG (log_dsap, LLOG_EXCEPTIONS, (
- --- 356,362 ----
- "external reference missing"));
- return;
- }
- ! new_as = as_merge (new_as, as_comp_cpy (as));
-
- if ((as = as_find_type (new_as, at_objectclass)) == NULLATTR) {
- LLOG (log_dsap, LLOG_EXCEPTIONS, (
-
-
-
- *** /tmp/RCSAa02760 Mon Oct 14 12:47:21 1991
- --- dsap/common/qos.c Mon Oct 14 12:46:55 1991
- ***************
- *** 354,362 ****
- }
- attrQoS_print (ps, p -> dit_quality, format);
- }
- ! if (a -> dit_description)
- ! ps_printf (ps, format == READOUT ? "\n%*s(%s)" : " # %s",
- ! a -> dit_description, qos_indent, "");
- }
-
- static struct attrQoS *str2attrQoS (str)
- --- 359,371 ----
- }
- attrQoS_print (ps, p -> dit_quality, format);
- }
- ! if (a -> dit_description) {
- ! if (format == READOUT)
- ! ps_printf (ps, "\n%*s(%s)", qos_indent,
- ! a -> dit_description);
- ! else
- ! ps_printf (ps, " # %s", a -> dit_description);
- ! }
- }
-
- static struct attrQoS *str2attrQoS (str)
-
-
- *** /tmp/RCSAa24516 Thu Nov 7 10:35:20 1991
- --- dsap/common/string.c Thu Nov 7 10:34:55 1991
- ***************
- *** 88,101 ****
- 0xe5, '?', '?', '?', '?', '?', '?', '?', '?',
-
- /* Diaresis upper case */
- ! 0xc4, '?', 0xc9, 0xcd, '?', 0xd3, 0xda, 0x82,
- /* Diaresis lower case */
- ! 0xe4, '?', 0xe9, 0xed, '?', 0xf3, 0xfa, 0xff, '"',
-
- /* Umlaut upper case */
- ! 0xc4, '?', 0xc9, 0xcd, '?', 0xd3, 0xda, 0x82,
- /* Umlaut lower case */
- ! 0xe4, '?', 0xe9, 0xed, '?', 0xf3, 0xfa, 0xff, '"',
-
- /* Ring upper case */
- 0xc5, '?', '?', '?', '?', '?', '?', '?',
- --- 94,107 ----
- 0xe5, '?', '?', '?', '?', '?', '?', '?', '?',
-
- /* Diaresis upper case */
- ! 0xc4, '?', 0xcb, 0xcf, '?', 0xd6, 0xdc, 0x82,
- /* Diaresis lower case */
- ! 0xe4, '?', 0xeb, 0xef, '?', 0xf6, 0xfc, 0xff, '"',
-
- /* Umlaut upper case */
- ! 0xc4, '?', 0xcb, 0xcf, '?', 0xd6, 0xdc, 0x82,
- /* Umlaut lower case */
- ! 0xe4, '?', 0xeb, 0xef, '?', 0xf6, 0xfc, 0xff, '"',
-
- /* Ring upper case */
- 0xc5, '?', '?', '?', '?', '?', '?', '?',
- ***************
- *** 113,121 ****
- '?', '?', '?', '?', '?', '?', '?', '?', '_',
-
- /* Umlaut upper case */
- ! 0xc4, '?', 0xc9, 0xcd, '?', 0xd3, 0xda, 0x82,
- /* Umlaut lower case */
- ! 0xe4, '?', 0xe9, 0xed, '?', 0xf3, 0xfa, 0xff, '"',
-
- /* Cedilla? upper case */
- '?', 0xc7, '?', '?', '?', '?', '?', '?',
- --- 119,127 ----
- '?', '?', '?', '?', '?', '?', '?', '?', '_',
-
- /* Umlaut upper case */
- ! 0xc4, '?', 0xcb, 0xcf, '?', 0xd6, 0xdc, 0x82,
- /* Umlaut lower case */
- ! 0xe4, '?', 0xeb, 0xef, '?', 0xf6, 0xfc, 0xff, '"',
-
- /* Cedilla? upper case */
- '?', 0xc7, '?', '?', '?', '?', '?', '?',
-
-
- *** /tmp/RCSAa23601 Thu Aug 22 13:09:42 1991
- --- quipu/conn_retry.c Thu Aug 22 13:06:38 1991
- ***************
- *** 41,46 ****
- --- 41,48 ----
-
- struct connection * conn_alloc();
-
- + static test_deadlock();
- +
- /*
- * Deal with an incoming acceptance of association establishment.
- * Return value says whether anything has happened or not.
- ***************
- *** 123,129 ****
- /* See if there is another DSA to try... */
- if ((on->on_state != ON_ABANDONED) && (on->on_dsas != NULL_DI_BLOCK)) {
- LLOG (log_dsap,LLOG_NOTICE,("Trying a different DSA (NOTOK)..."));
- ! if (oper_chain (on) == OK) {
- if (ont == NULLOPER)
- conn->cn_operlist = onext;
- else
- --- 125,132 ----
- /* See if there is another DSA to try... */
- if ((on->on_state != ON_ABANDONED) && (on->on_dsas != NULL_DI_BLOCK)) {
- LLOG (log_dsap,LLOG_NOTICE,("Trying a different DSA (NOTOK)..."));
- ! if ((test_deadlock(on) == OK) &&
- ! (oper_chain (on) == OK)) {
- if (ont == NULLOPER)
- conn->cn_operlist = onext;
- else
- ***************
- *** 137,143 ****
- }
- conn_extract(conn);
- break;
- !
- case DONE :
- DLOG (log_dsap,LLOG_NOTICE,( "D-BIND.RETRY DONE (%d)",conn->cn_ad));
- if( (conn->cn_ad == NOTOK) || (conn_req_aux(conn) != OK))
- --- 140,146 ----
- }
- conn_extract(conn);
- break;
- !
- case DONE :
- DLOG (log_dsap,LLOG_NOTICE,( "D-BIND.RETRY DONE (%d)",conn->cn_ad));
- if( (conn->cn_ad == NOTOK) || (conn_req_aux(conn) != OK))
- ***************
- *** 153,159 ****
- /* See if there is another DSA to try... */
- if ((on->on_state != ON_ABANDONED) && (on->on_dsas != NULL_DI_BLOCK)) {
- LLOG (log_dsap,LLOG_NOTICE,("Trying a different DSA (DONE)..."));
- ! if (oper_chain (on) == OK) {
- if (ont == NULLOPER)
- conn->cn_operlist = onext;
- else
- --- 156,163 ----
- /* See if there is another DSA to try... */
- if ((on->on_state != ON_ABANDONED) && (on->on_dsas != NULL_DI_BLOCK)) {
- LLOG (log_dsap,LLOG_NOTICE,("Trying a different DSA (DONE)..."));
- ! if ((test_deadlock(on) == OK) &&
- ! (oper_chain (on) == OK)) {
- if (ont == NULLOPER)
- conn->cn_operlist = onext;
- else
- ***************
- *** 195,198 ****
- --- 199,241 ----
-
- if (pstate != conn->cn_state)
- conn->cn_last_used = timenow;
- + }
- +
- +
- + static test_deadlock (on)
- + struct oper_act * on;
- + {
- + struct di_block * di;
- + register int ndi = 0;
- +
- + for (di= on -> on_dsas; di!= NULL_DI_BLOCK; di= di -> di_next)
- + ndi++;
- +
- + /* To proceed, we need to contact on_dsas. */
- + /* Check they do not rely on the conn that has just failed */
- + /* Possibly a better way of testing this... */
- +
- + for (di= on -> on_dsas; di!= NULL_DI_BLOCK; di= di -> di_next)
- + if (( di-> di_state == DI_DEFERRED ) &&
- + ( di-> di_perform ) &&
- + ( di-> di_perform-> on_conn ))
- + switch (di-> di_perform-> on_conn-> cn_state) {
- + case 0:
- + case CN_FAILED:
- + ndi--;
- + }
- +
- + if (ndi != 0)
- + return OK;
- +
- +
- + if (on -> on_task) {
- + on -> on_task -> tk_resp.di_error.de_err.dse_type =
- + DSE_SERVICEERROR;
- + on -> on_task ->
- + tk_resp.di_error.de_err.ERR_SERVICE.DSE_sv_problem =
- + DSE_SV_UNABLETOPROCEED;
- + }
- +
- + return NOTOK;
- }
- *** /tmp/RCSAa23601 Thu Aug 22 13:09:42 1991
- --- quipu/get_dsa_info.c Thu Aug 22 11:10:31 1991
- ***************
- *** 61,66 ****
- --- 61,67 ----
- struct di_block * di_lookup;
- struct oper_act * on = NULLOPER;
- int res;
- + Entry te = NULLENTRY;
-
- DLOG (log_dsap,LLOG_TRACE,("get_dsa_info()"));
-
- ***************
- *** 115,132 ****
- }
- }
-
- ! if ((res = really_find_entry(dn, TRUE, dn_stack, FALSE, &((*di_p)->di_entry), err, &(di_lookup))) == DS_OK)
- /* is it really OK ??? */
- ! if (((*di_p)->di_entry ->e_data == E_TYPE_CONSTRUCTOR)
- ! || ((*di_p)->di_entry->e_dsainfo == NULL)
- ! || ((*di_p)->di_entry->e_dsainfo->dsa_addr == NULLPA)) {
- DN dn_found;
- DLOG(log_dsap, LLOG_NOTICE, ("rfe returned a constructor"));
- ! dn_found = get_copy_dn((*di_p)->di_entry);
- ! res = constructor_dsa_info(dn_found,dn_stack,FALSE,(*di_p)->di_entry,err,&(di_lookup));
- dn_free (dn_found);
- ! } else
- (*di_p)->di_entry->e_refcount++;
-
- switch (res)
- {
- --- 116,137 ----
- }
- }
-
- ! if ((res = really_find_entry(dn, TRUE, dn_stack, FALSE, &te,
- ! err, &(di_lookup))) == DS_OK)
- /* is it really OK ??? */
- ! if ((te->e_data == E_TYPE_CONSTRUCTOR)
- ! || (te->e_dsainfo == NULL)
- ! || (te->e_dsainfo->dsa_addr == NULLPA)) {
- DN dn_found;
- DLOG(log_dsap, LLOG_NOTICE, ("rfe returned a constructor"));
- ! dn_found = get_copy_dn(te);
- ! res = constructor_dsa_info(dn_found, dn_stack, FALSE, te,
- ! err, &(di_lookup));
- dn_free (dn_found);
- ! } else {
- ! (*di_p)->di_entry = te;
- (*di_p)->di_entry->e_refcount++;
- + }
-
- switch (res)
- {
- *** /tmp/RCSAa23601 Thu Aug 22 13:09:42 1991
- --- quipu/di_block.c Thu Aug 22 09:19:15 1991
- ***************
- *** 49,54 ****
- --- 49,59 ----
- struct di_block *di;
- {
- DLOG(log_dsap, LLOG_TRACE, ("di_free()"));
- +
- + if (di->di_state == -1) {
- + LLOG (log_dsap,LLOG_EXCEPTIONS, ("duplicate di_free"));
- + return;
- + }
-
- switch (di->di_type) {
- case DI_GLOBAL: break;
-
-
-
- *** /tmp/RCSAa16265 Wed Aug 21 15:59:06 1991
- --- quipu/entry_load.c Wed Aug 21 15:37:27 1991
- ***************
- *** 362,370 ****
-
- if (file_check(offset, e) == OK) {
- if ((e->e_children = getentry_block(e, filename)) == NULLAVL) {
- if (e->e_allchildrenpresent != FALSE &&
- e->e_leaf == FALSE) {
- - e->e_allchildrenpresent = FALSE;
- got_all = FALSE;
- return(OK);
- } else
- --- 362,372 ----
-
- if (file_check(offset, e) == OK) {
- if ((e->e_children = getentry_block(e, filename)) == NULLAVL) {
- + if (parse_status != 0)
- + return(NOTOK);
- +
- if (e->e_allchildrenpresent != FALSE &&
- e->e_leaf == FALSE) {
- got_all = FALSE;
- return(OK);
- } else
- *** dsap/common/_turbo_index.c Tue Aug 13 13:06:57 1991
- --- dsap/common/turbo_index.c Tue Aug 13 13:07:27 1991
- ***************
- *** 472,477 ****
- --- 472,478 ----
- for ( j = i + 1; pindex->i_nonlocalaliases[ j ]; j++ )
- pindex->i_nonlocalaliases[ j - 1 ] =
- pindex->i_nonlocalaliases[ j ];
- + pindex->i_nonlocalaliases[ j - 1 ] = NULLENTRY;
-
- return;
- }
- *** dsap/common/_attribute.c Mon Aug 12 19:11:30 1991
- --- dsap/common/attribute.c Mon Aug 12 19:11:54 1991
- ***************
- *** 199,204 ****
- --- 199,206 ----
- if (acl->ac_default == NULLACL_INFO)
- acl->ac_default = acl_default ();
- }
- + } else {
- + eptr->e_acl = NULLACL;
- }
-
- if (as = entry_find_type (eptr,at_edbinfo)) {
- *** dsap/common/attribute.c~ Wed Jul 17 12:25:03 1991
- --- dsap/common/attribute.c Mon Aug 12 15:35:30 1991
- ***************
- *** 368,373 ****
- --- 371,377 ----
- || (AttrT_cmp (as->attr_type,at_alias) == 0)
- || (AttrT_cmp (as->attr_type,at_inherit) == 0)) {
- LLOG(log_dsap,LLOG_EXCEPTIONS,("Inherited system attribute only allowed in default case"));
- + error->dse_type = DSE_ATTRIBUTEERROR;
- error->ERR_ATTRIBUTE.DSE_at_name = get_copy_dn (eptr);
- error->ERR_ATTRIBUTE.DSE_at_plist.DSE_at_what =DSE_AT_CONSTRAINTVIOLATION;
- error->ERR_ATTRIBUTE.DSE_at_plist.DSE_at_type = AttrT_cpy (as->attr_type);
- ***************
- *** 379,384 ****
- --- 383,389 ----
- if (as->attr_value == NULLAV) {
- if ((nas = entry_find_type (eptr,as->attr_type)) == NULLATTR) {
- LLOG(log_dsap,LLOG_EXCEPTIONS,("Value missing for always inherited attribute type"));
- + error->dse_type = DSE_ATTRIBUTEERROR;
- error->ERR_ATTRIBUTE.DSE_at_name = get_copy_dn (eptr);
- error->ERR_ATTRIBUTE.DSE_at_plist.DSE_at_what =DSE_AT_NOSUCHATTRIBUTE;
- error->ERR_ATTRIBUTE.DSE_at_plist.DSE_at_type = AttrT_cpy (as->attr_type);
- ***************
- *** 394,399 ****
- --- 399,405 ----
- if (as->attr_value == NULLAV) {
- if ((nas = entry_find_type (eptr,as->attr_type)) == NULLATTR) {
- LLOG(log_dsap,LLOG_EXCEPTIONS,("Value missing for default inherited attribute type"));
- + error->dse_type = DSE_ATTRIBUTEERROR;
- error->ERR_ATTRIBUTE.DSE_at_name = get_copy_dn (eptr);
- error->ERR_ATTRIBUTE.DSE_at_plist.DSE_at_what =DSE_AT_NOSUCHATTRIBUTE;
- error->ERR_ATTRIBUTE.DSE_at_plist.DSE_at_type = AttrT_cpy (as->attr_type);
-
- *** /tmp/RCSAa27974 Thu Nov 21 13:36:17 1991
- --- dsap/x500as/af.py Thu Nov 21 13:35:40 1991
- ***************
- *** 88,93 ****
- --- 88,99 ----
- ANY [[a asn]]
- OPTIONAL
- }
- + %D{
- + if ((*parm)->asn == NULLPE)
- + (*parm)->p_type = ALG_PARM_ABSENT;
- + else
- + (*parm)->p_type = ALG_PARM_UNKNOWN;
- + %}
-
- SubjectPublicKeyInfo [[P struct key_info *]]
- ::=
- *** dsap/common/_cpair.c Wed Jul 17 12:25:16 1991
- --- dsap/common/cpair.c Tue Sep 17 14:41:19 1991
- ***************
- *** 92,98 ****
- str = ptr;
- if ((str != NULLCP) && (index(str, '#') != NULLCP))
- {
- ! result->cert = str2cert(str);
- if (result->cert == (struct certificate *) 0)
- {
- free((char *) result);
- --- 92,98 ----
- str = ptr;
- if ((str != NULLCP) && (index(str, '#') != NULLCP))
- {
- ! result->reverse = str2cert(str);
- if (result->cert == (struct certificate *) 0)
- {
- free((char *) result);
-
-
- *** /tmp/RCSAa23032 Thu Nov 21 09:06:53 1991
- --- quipu/task_select.c Thu Nov 21 09:06:27 1991
- ***************
- *** 40,45 ****
- --- 40,54 ----
- time_t lastedb_update;
- struct oper_act * pending_ops = NULLOPER;
-
- + #ifndef NO_STATS
- +
- + extern LLog * log_stat;
- + static time_t last_log_close = (time_t)0;
- + #define LOGOPENTIME 60*60 /* Close once every 60 minutes */
- +
- + #endif
- +
- +
- struct task_act * task_select(secs_p)
- int * secs_p;
- {
- ***************
- *** 437,442 ****
- --- 446,462 ----
- (*secs_p) = 0; /* let connection be re-used */
- }
- }
- +
- + #ifndef NO_STATS
- + if ( (timenow - last_log_close) >= LOGOPENTIME ) {
- + ll_close (log_stat);
- + last_log_close = timenow;
- + } else {
- + if ( (ret_tk == NULLTASK) && (*secs_p >= LOGOPENTIME))
- + *secs_p = LOGOPENTIME; /* Wake to close log! */
- + }
- + #endif
- +
-
- return(ret_tk);
- }
- *** /tmp/RCSAa23069 Thu Nov 21 09:16:46 1991
- --- dsap/common/entry.c Thu Nov 21 09:15:01 1991
- ***************
- *** 36,41 ****
- --- 36,46 ----
- AttributeType at_alias;
- AttributeType at_objectclass;
-
- + extern int local_master_size;
- + extern int local_slave_size;
- + extern int local_cache_size;
- +
- +
- directory_free (directory)
- Entry directory;
- {
- ***************
- *** 47,52 ****
- --- 52,67 ----
-
- if (directory->e_children != NULLAVL)
- (void) avl_free(directory->e_children, directory_free);
- +
- + switch (directory->e_data) {
- + case E_TYPE_SLAVE:
- + local_slave_size--; break;
- + case E_DATA_MASTER:
- + local_master_size--; break;
- + case E_TYPE_CACHE_FROM_MASTER:
- + local_cache_size--; break;
- + }
- +
- entry_free(directory);
- }
- }
- *** /tmp/RCSAa28299 Thu Nov 21 15:45:25 1991
- --- quipu/dsa_chain.c Thu Nov 21 15:43:54 1991
- ***************
- *** 995,1002 ****
- */
- sort_dsa_list (&di);
-
- ! if (tk == NULLTASK)
- ! return; /* already done it ! */
-
- if(di2cref(di, &(tk->tk_resp.di_error.de_err), tk->tk_conn->cn_ctx) != OK)
- {
- --- 995,1006 ----
- */
- sort_dsa_list (&di);
-
- ! if (tk == NULLTASK) {
- ! if (di->di_oper == NULLOPER)
- ! return FALSE;
- ! else
- ! return TRUE;
- ! }
-
- if(di2cref(di, &(tk->tk_resp.di_error.de_err), tk->tk_conn->cn_ctx) != OK)
- {
- ***************
- *** 1010,1023 ****
- task_conn_extract(tk);
- task_error(tk);
- task_extract(tk);
- ! return;
- }
- ! return;
- }
-
- task_conn_extract(tk);
- task_error(tk);
- task_extract(tk);
- }
-
- static struct access_point * di2ap (di)
- --- 1014,1029 ----
- task_conn_extract(tk);
- task_error(tk);
- task_extract(tk);
- ! return TRUE;
- }
- ! return TRUE;
- }
-
- task_conn_extract(tk);
- task_error(tk);
- task_extract(tk);
- +
- + return TRUE;
- }
-
- static struct access_point * di2ap (di)
- *** /tmp/RCSAa01769 Fri Nov 22 09:37:56 1991
- --- others/quipu/uips/dish/Makefile Fri Nov 22 09:35:04 1991
- ***************
- *** 154,162 ****
- -@ls -gls $@
- -@echo ""
-
- xquipurc: quipurc.o $(LIBES)
- $(LDCC) $(LDFLAGS) -o $@ quipurc.o \
- ! $(LIBDSAP) $(LIBISODE) $(LSOCKET) $(LIBGDBM)
-
- l-quipurc:; $(LINT) $(LFLAGS) quipurc.c $(LLIBS) \
- | grep -v "warning: possible pointer alignment problem"
- --- 154,165 ----
- -@ls -gls $@
- -@echo ""
-
- + # Don't use shared libs for xquipurc.
- +
- xquipurc: quipurc.o $(LIBES)
- $(LDCC) $(LDFLAGS) -o $@ quipurc.o \
- ! $(TOPDIR)libdsap.a $(TOPDIR)libisode.a \
- ! $(LSOCKET) $(LIBGDBM)
-
- l-quipurc:; $(LINT) $(LFLAGS) quipurc.c $(LLIBS) \
- | grep -v "warning: possible pointer alignment problem"
- *** /tmp/RCSAa23166 Thu Nov 21 09:36:21 1991
- --- dsap/oidtable.oc Fri Aug 23 08:40:19 1991
- ***************
- *** 156,164 ****
-
- pilotDSA: pilotObjectClass.21 : dsa : dSAQuality :
-
- ! qualityLabelledData: pilotObjectClass.22 : top : dSAQuality : \
- subtreeMinimumQuality, subtreeMaximumQuality
-
- # QUIPU defined object classes
-
- quipuDSA: quipuObjectClass.1 : dSA : \
- --- 162,174 ----
-
- pilotDSA: pilotObjectClass.21 : dsa : dSAQuality :
-
- ! # Retired - wrong mandatory attribute
- ! oldQualityLabelledData: pilotObjectClass.22 : top : dSAQuality : \
- subtreeMinimumQuality, subtreeMaximumQuality
-
- + qualityLabelledData: pilotObjectClass.23 : top : singleLevelQuality : \
- + subtreeMinimumQuality, subtreeMaximumQuality
- +
- # QUIPU defined object classes
-
- quipuDSA: quipuObjectClass.1 : dSA : \
- *** /tmp/patchlevel Thu Nov 21 15:56:54 1991
- --- quipu/patchlevel Thu Nov 21 15:56:12 1991
- ***************
- *** 0 ****
- --- 1,1 ----
- + 1:Thu Nov 21 15:56:12 GMT 1991
-
- -------------------- Bug No 23 --------------------------
- Return-Path: <c.robbins@xtel.co.uk>
- Delivery-Date: Tue, 19 May 1992 09:07:24 +0100
- Received: from xtel.co.uk by lancaster.xtel.co.uk with SMTP (PP)
- id <07743-0@lancaster.xtel.co.uk>; Tue, 19 May 1992 09:07:18 +0100
- To: quipu-bugs@xtel.co.uk
- Subject: SunOS 4.1.2
- Date: Tue, 19 May 92 09:07:14 +0100
- From: Colin Robbins <c.robbins@xtel.co.uk>
-
- QUIPU VERSION: 7.0
-
- ISODE VERSION: 7.0
-
- MACHINE: Sun 4/330 (X-TEL config)
-
- O/S: SunOS 4.1.2
-
- PROGRAM: QUIPU
-
- SYNOPSIS: Will not compile.
- Error message "can't link encode_NRS_info" is
- generated at link time.
-
- SAMPLE FIX:
-
- *** 8.0 1991/07/17 12:25:33
- --- dsap/common/nrs_info.c 1992/04/03 08:14:39
- ***************
- *** 76,81 ****
- --- 88,94 ----
- #include "quipu/util.h"
- #include "quipu/attr.h" /* Def.s for READOUT etc */
- #include "quipu/nrs_info.h"
- + #include "quipu/NRS-types.h"
-
- extern LLog * log_dsap;
- PE asn2pe();
- ***************
- *** 1700,1706 ****
- {
- PE ret_pe;
-
- ! if (encode_QuipuNRS_NRSInformation (&ret_pe, 1, 0, NULLCP, nrs) != OK)
- return (NULLPE);
-
- return (ret_pe);
- --- 1713,1719 ----
- {
- PE ret_pe;
-
- ! if (encode_NRS_NRSInformation (&ret_pe, 1, 0, NULLCP, nrs) != OK)
- return (NULLPE);
-
- return (ret_pe);
- ***************
- *** 1711,1717 ****
- {
- struct nrs_info * nrs;
-
- ! if (decode_QuipuNRS_NRSInformation (pe, 1, NULLIP, NULLVP, &nrs) != OK)
- {
- return ((struct nrs_info *) NULL);
- }
- --- 1724,1730 ----
- {
- struct nrs_info * nrs;
-
- ! if (decode_NRS_NRSInformation (pe, 1, NULLIP, NULLVP, &nrs) != OK)
- {
- return ((struct nrs_info *) NULL);
- }
-